package com.donger.common.messgae.handler;

import com.donger.common.messgae.template.SmsTemplate;

public interface MessageHandler {

    /**
     * 执行入口
     *
     * @param smsTemplate 信息
     */
    void execute(SmsTemplate smsTemplate) throws Exception;


    /**
     * 校验数据
     * @param smsTemplate
     * @throws Exception
     */
    void check(SmsTemplate smsTemplate) throws Exception;


    /**
     * 业务处理
     *
     * @param smsTemplate 信息
     * @return boolean
     */
    boolean process(SmsTemplate smsTemplate);


    /**
     * 失败处理
     *
     * @param smsTemplate 信息
     */
    void fail(SmsTemplate smsTemplate);


}
